// 游戏类型定义

// 关卡难度
export enum LevelDifficulty {
  BEGINNER = 'beginner',
  INTERMEDIATE = 'intermediate',
  ADVANCED = 'advanced'
}

// 关卡类型
export enum LevelType {
  NUMBER_RECOGNITION = 'number_recognition',
  SHAPE_MATCHING = 'shape_matching',
  COMPARE_SIZE = 'compare_size',
  ADDITION = 'addition',
  SUBTRACTION = 'subtraction',
  PATTERN = 'pattern',
  LOGIC = 'logic',
  TIME = 'time',
  MONEY = 'money'
}

// 关卡状态
export enum LevelStatus {
  LOCKED = 'locked',
  UNLOCKED = 'unlocked',
  COMPLETED = 'completed'
}

// 关卡信息
export interface Level {
  id: number
  name: string
  type: LevelType
  difficulty: LevelDifficulty
  status: LevelStatus
  stars: number // 0-3 星
  position: { x: number; y: number } // 地图上的位置
  requiredLevel?: number // 需要完成的前置关卡
}

// 徽章/贴纸
export interface Badge {
  id: string
  name: string
  icon: string
  description: string
  unlocked: boolean
  unlockedAt?: Date
}

// 玩家进度
export interface PlayerProgress {
  currentLevel: number
  totalStars: number
  badges: Badge[]
  completedLevels: number[]
}

// 拖拽项
export interface DraggableItem {
  id: string
  value: any
  type: string
  position?: { x: number; y: number }
}

// 放置区域
export interface DropZone {
  id: string
  acceptedValue: any
  acceptedType?: string
  filled: boolean
}
